package com.project.service;

import com.project.bean.CutPageBean;
import com.project.bean.ProductBean;

import java.time.LocalDate;
import java.util.List;

/**
 * 产品业务接口
 */
public interface IProductService {
    /**
     * 添加商品
     * @param product 商品实体
     * @return 添加的商品编号
     */
    Integer add(ProductBean product);

    /**
     * 按编号修改价格
     * @param id 商品编号
     * @param price 商品价格
     */
   void update(Integer id,Integer price);

    /**
     * 按编号查询商品
     * @param id 商品编号
     * @return 商品对象
     */
   ProductBean findById(Integer id);

    /**
     * 动态条件分页查询商品
     * @param name 商品名
     * @param minPrice 最低价格
     * @param maxPrice 最高价格
     * @return 分页对象
     */
   CutPageBean<ProductBean> cutByItem(int pageNO,String name,Integer minPrice,Integer maxPrice);

    /**
     * 动态分页查询是商品
     * @param factory 工厂名
     * @param startDate 起始日期
     * @param endDate 结束日期
     * @return 分页对象
     */
    CutPageBean<ProductBean> cutByItem(int pageNO, String factory, LocalDate startDate, LocalDate endDate);

    /**
     * 批量添加商品
     * @param list 商品集合
     */
    void addList(List<ProductBean> list);

    /**
     * 批量删除商品
     * @param idArray 商品编号数组
     */
    void delArray(Integer[] idArray);


}
